﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Class_DTO;
using Class_BUS;
using Class_DAO;
using System.Windows.Forms;

namespace Project_QuangCaoABC
{
    public partial class frmKhachHang : Form
    {
        public frmKhachHang()
        {
            InitializeComponent();
        }

        bool them = false;
        bool update = false;        
        private void frmKhachHang_Load(object sender, EventArgs e)
        {
            
            dGW_DSKH.ReadOnly = true;
            txtDiaChi.ReadOnly = true;
            txtDienThoai.ReadOnly = true;
            txtSoFax.ReadOnly = true;
            txtTenKH.ReadOnly = true;
            txtGhiChu.ReadOnly = true;
            
            HienThiDS_KhachHang();

            them = false;
            update = false;
            
        }       
        public void HienThiDS_KhachHang()
        {
            dGW_DSKH.DataSource = KhachHangBus.LoadDS_KhachHang();
        }
        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void xoatext()
        {
            txtMaKH.Text = "";
            txtTenKH.Text = "";
            txtSoFax.Text = "";
            txtGhiChu.Text = "";
            txtDiaChi.Text = "";
            txtDienThoai.Text = "";
        }
        private void btnThem_Click(object sender, EventArgs e)
        {
            xoatext();

            txtDiaChi.ReadOnly = false ;
            txtDienThoai.ReadOnly = false;
            txtSoFax.ReadOnly = false;
            txtTenKH.ReadOnly = false;
            txtGhiChu.ReadOnly = false;
            them = true;
            txtTenKH.Focus();

            btnLuu.Enabled = true;
            btnSua.Enabled = false;
            btnXoa.Enabled = false;
            btnThem.Enabled = false;
        }
        private void btnSua_Click(object sender, EventArgs e)
        {
            btnLuu.Enabled = true;
            if (dGW_DSKH.SelectedRows.Count <= 0 )
            {
                MessageBox.Show("Chưa chọn khách hàng", "Thông báo!");
            }
            else
            {
                txtDiaChi.ReadOnly = false;
                txtDienThoai.ReadOnly = false;
                txtSoFax.ReadOnly = false;
                txtTenKH.ReadOnly = false;
                txtGhiChu.ReadOnly = false;

                btnThem.Enabled = false ;
                btnXoa.Enabled = false;
                btnSua.Enabled = false;

                update = true;
            }           

        }
        private void btnBoQua_Click(object sender, EventArgs e)
        {
            xoatext();
            btnThem.Enabled = true ;
            btnSua.Enabled = true;
            btnXoa.Enabled = true;
            btnLuu.Enabled = true;


            txtDiaChi.ReadOnly = true;
            txtDienThoai.ReadOnly = true;
            txtSoFax.ReadOnly = true;
            txtTenKH.ReadOnly = true;
            txtGhiChu.ReadOnly = true;

        }

        Class_DAO.KhachHangDAO thaotac = new Class_DAO.KhachHangDAO();
        
        private void btnLuu_Click(object sender, EventArgs e)
        {
            btnLuu.Enabled = false ;
            btnSua.Enabled = true;
            btnThem.Enabled = true;
            btnXoa.Enabled = true;
            try
            {
                if (ValidForm() == false) return;
                if (them) // them
                {
                    string tenKh = txtTenKH.Text;
                 
                    string diaChi = txtDiaChi.Text;
                    string soDT = txtDienThoai.Text;
                    string soFax = txtSoFax.Text;
                    string ghiChu = txtGhiChu.Text;
                    //string loaiKH = cmbLoaiKH.SelectedValue.ToString();
                   
                   
                    KhachHangBus khBUS = new KhachHangBus();
                 
                    KhachHangDTO khDTO = new KhachHangDTO( tenKh, diaChi, soDT, soFax, ghiChu);
                  
                    Class_BUS.KhachHangBus.ThemKhachHang_BUS(khDTO);
                    HienThiDS_KhachHang();
                    them = false;
                    MessageBox.Show("Thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;

                }
                if (update)// sua
                {
                    thaotac.sua(int.Parse(txtMaKH.Text), txtTenKH.Text, txtDiaChi.Text, txtDienThoai.Text, txtSoFax.Text  , txtGhiChu.Text);
                    HienThiDS_KhachHang();
                    update = false;
                    MessageBox.Show("Thao Tác Thành Công.", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
           
                
        }
        private void btnXoa_Click(object sender, EventArgs e)
        {
            //btnXoa.Enabled = false;
            if (dGW_DSKH.SelectedRows.Count <= 0)
            {
                MessageBox.Show("Chưa chọn khách hàng", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                try
                {
                    DialogResult a = MessageBox.Show("Bạn Muốn Xóa Thông Tin Về Khách Hàng Này?", "Cảnh Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                    if (a == DialogResult.Yes)
                    {
                        thaotac.xoa(int.Parse(txtMaKH.Text));
                        HienThiDS_KhachHang();
                        MessageBox.Show("Thao Tác Thành Công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        xoatext();
                    }

                }
                catch
                {
                    MessageBox.Show("TKhông thể xóa mã này", "Cảnh Báo");
                }
            }
            
        }
        private void dGW_DSKH_SelectionChanged(object sender, EventArgs e)
        {
            if (dGW_DSKH.SelectedRows.Count > 0)
            {
                txtMaKH.Text = dGW_DSKH.SelectedRows[0].Cells[0].Value.ToString();
                txtTenKH.Text = dGW_DSKH.SelectedRows[0].Cells[1].Value.ToString();
                txtDiaChi.Text = dGW_DSKH.SelectedRows[0].Cells[2].Value.ToString();
                txtDienThoai.Text = dGW_DSKH.SelectedRows[0].Cells[3].Value.ToString();
                txtSoFax.Text = dGW_DSKH.SelectedRows[0].Cells[4].Value.ToString();
            //   cmbLoaiKH.SelectedValue  = dGW_DSKH.SelectedRows[0].Cells[5].Value;
                txtGhiChu.Text = dGW_DSKH.SelectedRows[0].Cells[5].Value.ToString();
                
            }

        }
        private void btnTimKiem_KH_Click(object sender, EventArgs e)
        {

            if (txtTenKH.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Bạn chưa nhập thông tin", "Thông báo");
            }
            else
            {
                dGW_DSKH.DataSource = KhachHangBus.getDanhSachKH_theoten(txtTimTenKH.Text);
            }
        }
        private bool ValidForm()
        {
            try
            {

                if (txtTenKH.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập tên khách hàng", "Thông báo!");
                    txtTenKH.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                if (txtDienThoai.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập số điện thoại", "Thông báo!");
                    txtDienThoai.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                if (txtDiaChi.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập địa chỉ", "Thông báo!");
                    txtDiaChi.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        
    }
}
